1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular, to a method and apparatus for processing a sequence of tasks. Still more particularly, the present invention relates to a computer implemented method, apparatus, and computer usable program code for identifying when variances to a set of tasks may occur.
2. Description of the Related Art
Businesses and other types of organizations employ processes to achieve goals. For example, a business in the information technology area may have a series of workflows or processes that are used to install, maintain, and update networks and components within networks. A process may include a set of one or more activities. An activity contains a set of one or more tasks. For example, in a process for upgrading a network, one activity may be to patch software on computers, while another activity in the process may be to upgrade firmware on routers in the network. Of course, other activities also may occur in upgrading a network.
For example, a series of activities may be defined for installing a program on a computer. For maintenance issues, a series of activities may be defined to identify problems on a computer system. Each activity in the process has a set of one or more tasks. In another example, updating firmware on a router may include tasks, such as identifying the correct firmware upgrade, receiving authorization to take the router offline for the upgrade, performing the firmware upgrade, and verifying that the new firmware has been correctly installed on the router.
Often times, these activities have tasks that should not be changed or omitted to ensure that the goal of the activities are correctly reached. For example, certain tasks may be implemented to ensure quality. Omissions of these types of tasks are prohibited to avoid quality control issues.
In determining whether the tasks have been completed as set out, a number of different mechanisms are currently available. One mechanism involves using a spreadsheet or database in which tasks are identified and the completion of the tasks are logged when they are completed. This type of hand entry does not provide for any type of real enforcement as to whether the tasks actually occurred. Another currently used system involves the use of software to ensure that tasks have been completed. With respect to the area of information technology, server changes, installation of software, and other steps like these may be enforced through tool sets, which require the user to complete tasks as set out for the users.
An example of such a tool is the WebSphere Business Server Foundation, which is available from International Business Machines Corporation. This type of tool uses business process execution language (BPEL), which is a extensible markup language (XML) based system. This type of tool provides an ability to enforce the execution of tasks.
On the other hand, this tool is inflexible and requires recoding of tasks in BPEL when changes are desired. For example, if a user desires to add or remove a task, the user is required to obtain the BPEL file, change the coding in the file, replace the file, then install the file for use. These steps require time and knowledge of the coding language. Often times, managers are unfamiliar with the language or do not have time to actually make these types of changes. Therefore, the flexibility of this type of system is limited.